package com.ruoyi.common.core.utils;

import java.lang.reflect.Field;

/**
 * @program: RuoYi-Cloud
 * @ClassName ReflectionUtil
 * @author: LGP
 * @create: 2024-05-13 16:48
 * @description:
 **/

public class ReflectionUtil {
    /**
     * 通过反射给某个实体类的字段设置值
     * @param obj 要设置值的实体对象
     * @param fieldName 要设置值的字段名
     * @param value 要设置的值
     * @throws Exception
     */
    public static void setFieldValue(Object obj, String fieldName, Object value) throws Exception {
        // 获取对象的Class对象
        Class<?> clazz = obj.getClass();
        // 获取指定名称的字段
        Field field = clazz.getDeclaredField(fieldName);
        if(field!=null){
            // 设置访问权限为可访问
            field.setAccessible(true);
            // 设置字段的值
            field.set(obj, value);
        }
    }
}
